app.controller('baseController',function ($scope) {

    // 分页的配置的信息
    $scope.paginationConf = {
        currentPage: 1, // 当前页数
        totalItems: 10, // 总记录数
        itemsPerPage: 10, // 每页显示多少条记录
        perPageOptions: [10, 20, 30, 40, 50],// 显示多少条下拉列表
        onChange: function(){ // 当页码、每页显示多少条下拉列表发生变化的时候，自动触发了
            $scope.reloadList();// 重新加载列表
        }
    };

    $scope.reloadList = function(){
        $scope.findPage($scope.paginationConf.currentPage,$scope.paginationConf.itemsPerPage);
    };

    //存放选中的文章 id
    $scope.selectIds = [];

    $scope.invoiceBatchParamList = [];

    $scope.updateSelection = function ($event, id) {
        if ($event.target.checked) {

            //添加 id
            $scope.selectIds.push(id);
        }else {

            //获取索引
            var index = $scope.selectIds.indexOf(id);

            //删除
            $scope.selectIds.splice(index,1);
        }
    };

    //日期格式化 time 时间 format 格式
    $scope.myFormatDate = function(time, format){
        var t = new Date(time);
        var tf = function(i){return (i < 10 ? '0' : '') + i};
        return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){
            switch(a){
                case 'yyyy':
                    return tf(t.getFullYear());
                    break;
                case 'MM':
                    return tf(t.getMonth() + 1);
                    break;
                case 'mm':
                    return tf(t.getMinutes());
                    break;
                case 'dd':
                    return tf(t.getDate());
                    break;
                case 'HH':
                    return tf(t.getHours());
                    break;
                case 'ss':
                    return tf(t.getSeconds());
                    break;
            }
        })
    };

    //浮点数值 num-数值  decimal-保留小数位数
    $scope.numParsh = function (num,decimal) {
        decimal = decimal+1;
        var numStr = JSON.stringify(num);
        if (num != undefined && numStr.indexOf('.')>0) {
            var dedimalNum = numStr.substr(numStr.indexOf('.'));
            if(dedimalNum.length>decimal){
                var temp = dedimalNum.substr(decimal,1);
                //四舍五入对5做特殊处理
                if(temp==='5'){
                    var str = dedimalNum.substr(1,decimal-1);
                    numStr = numStr.replace(dedimalNum,str);
                    num = Number(numStr)+1;
                    num = num / Math.pow(10,(decimal-1));
                    return num;
                }else{
                    num = num.toFixed(decimal-1);
                    return num;
                }
            }
        }
        return num;

    };

    //n 数值
    $scope.numFormatDX = function (n) {
        if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法";
        var unit = "京亿万仟佰拾兆万仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
        n += "00";
        var p = n.indexOf('.');
        if (p >= 0)
            n = n.substring(0, p) + n.substr(p+1, 2);
        unit = unit.substr(unit.length - n.length);
        for (var i=0; i < n.length; i++) str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
        return str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(兆|万|亿|元)/g, "$1").replace(/(兆|亿)万/g, "$1").replace(/(京|兆)亿/g, "$1").replace(/(京)兆/g, "$1").replace(/(京|兆|亿|仟|佰|拾)(万?)(.)仟/g, "$1$2零$3仟").replace(/^元零?|零分/g, "").replace(/(元|角)$/g, "$1整");
    };

    //判断是否是空 true 是 false 不是
    $scope.isNull = function (data) {
        if (data == null || data.length == 0){
            return true;
        } else {
            return false;
        }
    };


    //标记是否 点击过按钮 - 用来做防止表单重复提交
    $scope.isClick = false;


    /**
     * 乘法运算，避免数据相乘小数点后产生多位数和计算精度损失。
     *
     * @param num1被乘数 | num2乘数
     */
    $scope.numMulti = function(num1,num2){
        var baseNum = 0;
        try {
            baseNum += num1.toString().split(".")[1].length;
        } catch (e) {
        }
        try {
            baseNum += num2.toString().split(".")[1].length;
        } catch (e) {
        }
        return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum);
    }


});